﻿//
//  Copyright (c) 2008, WebAula S/A 
//  All rights reserved.
//
//  Authors : 
//
//           * Ivan Paulovich (ivan@100loop.com)
//           Blog: http://www.100loop.com/          
//           Messenger: ivanpaulovich@hotmail.com 
//           Twitter: @ivanpaulovich
//

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;

namespace Core.Domain.Model
{
    public class Comment
    {
        [Display(Name = "Identificador")]
        public virtual int CommentId { get; set; }

        [Required(ErrorMessage = "O post relacionado é obrigatório.")]
        [Display(Name = "Post Relacionado")]
        public virtual int PostId { get; set; }

        [Required(ErrorMessage = "O autor é obrigatório.")]
        [Display(Name = "Autor")]
        public virtual string Author { get; set; }

        [Required(ErrorMessage = "O e-mail é obrigatório.")]
        [DataType(DataType.EmailAddress)]
        [Display(Name = "E-mail")]
        public virtual string Email { get; set; }

        [Required(ErrorMessage = "O texto é obrigatório.")]
        [Display(Name = "Texto")]
        public virtual string Body { get; set; }

        [Required(ErrorMessage = "A data é obrigatória.")]
        [DataType(DataType.Date)]
        [Display(Name = "Data de Publicação")]
        public virtual DateTime PublishedDate { get; set; }

        [Required(ErrorMessage = "O post relacionado é obrigatória.")]
        [Display(Name = "Post Relacionado")]
        public virtual Post Post { get; set; }

        public Comment()
        {
            PublishedDate = DateTime.Now;
        }
    }
}
